A printed circuit (PC) board provides a surface to mount and interconnect electronic components without discrete wires. In general, a PC board consists of an insulating sheet onto which conductive paths are printed. The insulating sheet, also referred to as the substrate, is often composed of fiberglass-reinforced epoxy composite. The printed conductive paths, also referred to as traces, are often composed of copper. After the PC board has been manufactured, electronic components are mounted on the substrate and attached to the traces usually by soldering. As PC boards are rugged, inexpensive, and highly reliable, they are used extensively in many types of electronic equipment and systems.
There are many different types of electronic components that can be mounted and interconnected using a PC board. Examples of such electronic components include memory chips, transistors, resistors, processor chips, and field programmable gate arrays (FPGA). An FPGA is a large-scale integrated circuit that can be programmed and re-programmed after it is manufactured. Thus, an FPGA is an example of an electronic component that is not limited to a predetermined, unchangeable hardware function.
A pin often serves as a connection point to an electronic component. In other words, when connecting two electronic components together, it is a pin of the first electronic component that is being connected (e.g., via a copper trace) to a pin of the second electronic component. An electronic component may have any number of pins. Some electronic components have fewer than a dozen pins. Some electronic components, an FPGA for example, may have over 1,000 pins.
Each pin of an electrical component has both an electrical definition and a logical definition that must be observed when connecting the pin. The electrical definition indicates voltage ranges, current ranges, frequency ranges, rise times, fall times and other electrical properties well known in the art under which the pin and portion of the electronic component associated with the pin are designed to operate. Failure to observe an electrical definition may result in undesirable performance and even damage to the electronic component. The logical definition of a pin indicates the function of the pin. For example, the pin may be a signal input pin, a signal output pin, a data pin, an address pin, a clock input pin, a power pin, a configure pin, or another type of pin well known in the art. Pins may be connected based on both the electrical definition and the logical definition. Clearly, a signal input pin on a first electronic component should not be connected to a signal input pin on a second electronic component. Likewise, a pin restricted to an operating frequency of less than 10 MHz should not be connected to a pin that outputs or requires a signal with a frequency exceeding 200 MHz.
Although it is possible for a pin of an electronic component to be functionally isolated from other pins of the same electronic component, some pins of an electronic component may be closely related. For example, numerous pins may be grouped as an address bus or a data bus. In addition to the electrical definition and logical definition that must be observed, a group of closely related pins may have additional connection requirements. For example, a group of closely related pins may require the connections (e.g., copper traces) made to each pin in the group be similar in length. Those skilled in the art can appreciate that other connection requirements may also exist.
Prior to the manufacture of a PC board, all the electronic components and interconnections between the electronic components must be determined. The electronic components and connections between the electronic components are stored in a file known as a net list file. Once a net list file exists and is complete, a PC board can be manufactured based on the net list file. Visual outputs, such as schematics, can also be constructed based on the net list file.